﻿// onwer 蒋家伟

#pragma once
#include "Device_home.h"
#include "IArgs.h"

namespace jsdk
{
    enum class DeviceEventType : int32_t
    {
        Undefined = 0,                // 未定义
        DeviceBeforeInit = 1,         // 设备初始化前
        DeviceAfterInit = 2,          // 设备初始化后
        DeviceBeforeStart = 3,        // 设备启动前
        DeviceAfterStart = 4          // 设备启动后
    };


    class DEVICE_EXPORT IDeviceEventArgs : public IArgs
    {
        DEFINE_DRIVER_FROM(IDeviceEventArgs, IArgs)
    public:
        virtual ~IDeviceEventArgs() {}

        /// \ brief 获取当前事件的类别
        /// \ return 设备事件类别
        virtual DeviceEventType getEventType() const = 0;
    };
}